package cz.semjobKB.conllx.node;

/**
 * Basic getter methods for linguistic word.
 * 
 * @author Synergy
 */
public interface ILinguisticWord extends IMorpho {

	/**
	 * Gets word's original text
	 * 
	 * @return Word original text
	 */
	String getText();

	/**
	 * Gets word's lemma.
	 * 
	 * @return Word lemma
	 */
	String getLemma();

	/**
	 * Gets word's constituent
	 * 
	 * @return Word constituent
	 */
	EConstituent getConstituent();
	
	/**
	 * Gets a position of a parent node in a sentence
	 * 
	 * @return Parent's position in the sentence
	 */
	short getParentNode();
	
	/**
	 * Tests if word is on the left side from the parent in a sentence
	 * 
	 * @return true if a parent is after the word, false if the parent is on the ride side
	 */
	boolean isLeftValence();
	
	/**
	 * Sets original text of the word
	 * 
	 * @param text original text of the word that appeared in the sentence
	 */
	void setText(String text);
	
}
